@@ -66,6 +66,10 @@ class Agent < ActiveRecord::Base |
||
66 | 66 |
where(:type => type) |
67 | 67 |
} |
68 | 68 |
|
69 |
+ def short_type |
|
70 |
+ type.demodulize |
|
71 |
+ end |
|
72 |
+ |
|
69 | 73 |
def check |
70 | 74 |
# Implement me in your subclass of Agent. |
71 | 75 |
end |
@@ -104,11 +104,12 @@ module Agents |
||
104 | 104 |
|
105 | 105 |
def receive(incoming_events) |
106 | 106 |
incoming_events.each do |event| |
107 |
+ agent = Agent.find(event.agent_id) |
|
107 | 108 |
payload = perform_matching(event.payload) |
108 | 109 |
opts = interpolated(payload) |
109 | 110 |
formatted_event = opts['mode'].to_s == "merge" ? event.payload.dup : {} |
110 | 111 |
formatted_event.merge! opts['instructions'] |
111 |
- formatted_event['agent'] = Agent.find(event.agent_id).type.slice!(8..-1) unless opts['skip_agent'].to_s == "true" |
|
112 |
+ formatted_event['agent'] = agent.short_type unless opts['skip_agent'].to_s == "true" |
|
112 | 113 |
formatted_event['created_at'] = event.created_at unless opts['skip_created_at'].to_s == "true" |
113 | 114 |
create_event :payload => formatted_event |
114 | 115 |
end |
@@ -132,6 +132,13 @@ describe Agent do |
||
132 | 132 |
it_behaves_like HasGuid |
133 | 133 |
end |
134 | 134 |
|
135 |
+ describe ".short_type" do |
|
136 |
+ it "returns a short name without 'Agents::'" do |
|
137 |
+ Agents::SomethingSource.new.short_type.should == "SomethingSource" |
|
138 |
+ Agents::CannotBeScheduled.new.short_type.should == "CannotBeScheduled" |
|
139 |
+ end |
|
140 |
+ end |
|
141 |
+ |
|
135 | 142 |
describe ".default_schedule" do |
136 | 143 |
it "stores the default on the class" do |
137 | 144 |
Agents::SomethingSource.default_schedule.should == "2pm" |